iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 3
0
AI & Data

Learning Machine Learning Algorithm in C++系列 第 3

Day 2 擁抱機器學習的演算法

  • 分享至 

  • xImage
  •  

在上一個章節介紹了什麼是機器學習,也概略的提到機器學習是透過資料與演算法去實踐人工智慧,這個章節會更仔細的說明機器學習是如何達到這件事情,並且探討機器學習演算法的分類、以及準備接下來鐵人賽要實作的演算法。

首先,機器學習是怎麼運作的

機器學習的原理很簡單,就是利用「資料」去找到裡面的一些「規則」,這樣講太抽象了,用數學的觀點來解釋的話,假設目前有一個函式https://chart.googleapis.com/chart?cht=tx&chl=f(x),假設我們並不知道函式的內容,但擁有函式的結果。

x  | 01 | 03 | 04 | 05 | 06 | 08 | 09 | 15 | 32
f(x) | 09 | 21 | 27 | 33 | 39 | 51 | 57 | 93 | 195

而機器學習的目的,就是使用這些結果(資料),努力的去找到非常接近f(x)的函式(規則),我稱這個函式為T(x),當T(x)越接近f(x)時,代表機器學習的精準度越高、成效越好。十分有趣的是,上述的例子不就是一個經典的迴歸(regression)問題嗎,是的,所以迴歸也是屬於機器學習的一種方法。

可能會有很大的疑惑說,只是去找到一個函式為什麼可以稱為人工智慧,站在現實面的角度來看,有太多東西不能被函式所定義,像是這對情侶會不會結婚、買這支股票可能的投資報酬率、這隻動物是不是狗等等,這些問題的確有跡可循,但又不是那麼清楚,這種時候就可以嘗試使用機器學習(前提是資料量要夠),來回答上述的問題。因此像是現在被廣泛使用的AI技術,不論是對於影像、聲音、文字亦或其他更複雜的事情,他們的原理皆是以這個為出發點而產生的。

先看看演算法的分類

談完了機器學習的概念,我要來說說相關的演算法,依照演算法的不同,就算使用的資料一樣,訓練出來的結果會有所差異,在選擇演算法時會考量問題的類型、資料量的大小等因素,依照訓練方法的不同,可以將機器學習的演算法分類為以下四大類。

  • 監督式學習(Supervised learning):監督式學習的概念很簡單,就像我前幾天帶我表弟出去逛街,一路上他不斷的重複一個問題,這是什麼?於是我就會告訴他,這是鐵門、圍牆、熊貓、狗等等,這其實就是一種監督式的學習,站在機器學習的角度,輸入是貓狗圍牆的圖案,而輸出是狗、貓、圍牆等名詞,當訓練時的資料已經具有輸入與輸出,我們稱資料為被標籤的資料,監督式學習是使用大量具有標籤的資料,去找到裡面的規則,做到預測、分類等等。
  • 非監督式學習(Unsupervised Learning):非監督式與監督式的差異來自於資料來源,非監督式學習訓練的資料是不需要被標籤,演算法會在這些資料裡面自己看出一些規則。
  • 半監督式學習(Semi-supervised Learning):半監督式學習是介於監督式學習與非監督式學習的演算法,由於監督式學習需要使用具有標籤化的資料,有時候監督式學習的資料不夠多、或者取得成本高(例如地質鑽探),當標籤化的資料不夠多時就可以使用半監督式的演算法。
  • 強化式學習(Reinforcement Learning):強化式學習會持續不斷在環境中學習,目標是取得環境中的最大利益,之前曾經在網路上看到訓練機器手臂抓取物品的影片,使用的方法就是強化學習,機器手臂不斷地嘗試如何抓取物品,並且在每一次的抓取去獲得一個分數,漸漸地機器手臂就能找到如何去抓取物品的方法。

由於機器學習的演算法非常多種,依照需要解決的問題去選擇,我參考了許多網路上對於機器學習演算法的概述,挑初其中幾個比較普遍,以及實作難度不會那麼高的演算法出來,皆是屬於監督式學習與非監督式學習兩種,接下來的幾天分別會依序介紹這些演算法。

  1. Linear Regression(supervised)
  2. Logistic Regression(supervised)
  3. Naïve Bayes(supervised)
  4. Support Vector Machine(supervised)
  5. Decision Trees(supervised)
  6. Random Forest(supervised)
  7. k-menas(unsupervised)
  8. kNN(unsupervised)
  9. Neural Networks(supervised)

參考資料:
10 machine learning algorithms you should know in 2018
A Tour of Machine Learning Algorithms
A Tour of The Top 10 Algorithms for Machine Learning Newbies
Types of Machine Learning Algorithms You Should Know


上一篇
Day 1 機器學習的老生常談
下一篇
Day 3 Linear Regression & Gradient Descent(1)
系列文
Learning Machine Learning Algorithm in C++7
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言